﻿using System;
using System.CodeDom.Compiler;
using System.Diagnostics;
using Google.Protobuf;
using Google.Protobuf.Collections;
using Google.Protobuf.Reflection;

namespace EggLink.DanhengServer.Proto
{
	// Token: 0x02000C35 RID: 3125
	[DebuggerDisplay("{ToString(),nq}")]
	public sealed class MusicRhythmDataScRsp : IMessage<MusicRhythmDataScRsp>, IMessage, IEquatable<MusicRhythmDataScRsp>, IDeepCloneable<MusicRhythmDataScRsp>, IBufferMessage
	{
		// Token: 0x1700275F RID: 10079
		// (get) Token: 0x06008BB0 RID: 35760 RVA: 0x001738FD File Offset: 0x00171AFD
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public static MessageParser<MusicRhythmDataScRsp> Parser
		{
			get
			{
				return MusicRhythmDataScRsp._parser;
			}
		}

		// Token: 0x17002760 RID: 10080
		// (get) Token: 0x06008BB1 RID: 35761 RVA: 0x00173904 File Offset: 0x00171B04
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public static MessageDescriptor Descriptor
		{
			get
			{
				return MusicRhythmDataScRspReflection.Descriptor.MessageTypes[0];
			}
		}

		// Token: 0x17002761 RID: 10081
		// (get) Token: 0x06008BB2 RID: 35762 RVA: 0x00173916 File Offset: 0x00171B16
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		MessageDescriptor IMessage.Descriptor
		{
			get
			{
				return MusicRhythmDataScRsp.Descriptor;
			}
		}

		// Token: 0x06008BB3 RID: 35763 RVA: 0x0017391D File Offset: 0x00171B1D
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public MusicRhythmDataScRsp()
		{
		}

		// Token: 0x06008BB4 RID: 35764 RVA: 0x0017395C File Offset: 0x00171B5C
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public MusicRhythmDataScRsp(MusicRhythmDataScRsp other) : this()
		{
			this.retcode_ = other.retcode_;
			this.musicLevel_ = other.musicLevel_.Clone();
			this.unlockPhaseList_ = other.unlockPhaseList_.Clone();
			this.curLevelId_ = other.curLevelId_;
			this.curSongId_ = other.curSongId_;
			this.musicGroup_ = other.musicGroup_.Clone();
			this.showHint_ = other.showHint_;
			this.unlockSongList_ = other.unlockSongList_.Clone();
			this.unlockTrackList_ = other.unlockTrackList_.Clone();
			this._unknownFields = UnknownFieldSet.Clone(other._unknownFields);
		}

		// Token: 0x06008BB5 RID: 35765 RVA: 0x00173A05 File Offset: 0x00171C05
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public MusicRhythmDataScRsp Clone()
		{
			return new MusicRhythmDataScRsp(this);
		}

		// Token: 0x17002762 RID: 10082
		// (get) Token: 0x06008BB6 RID: 35766 RVA: 0x00173A0D File Offset: 0x00171C0D
		// (set) Token: 0x06008BB7 RID: 35767 RVA: 0x00173A15 File Offset: 0x00171C15
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public uint Retcode
		{
			get
			{
				return this.retcode_;
			}
			set
			{
				this.retcode_ = value;
			}
		}

		// Token: 0x17002763 RID: 10083
		// (get) Token: 0x06008BB8 RID: 35768 RVA: 0x00173A1E File Offset: 0x00171C1E
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public RepeatedField<MusicRhythmLevel> MusicLevel
		{
			get
			{
				return this.musicLevel_;
			}
		}

		// Token: 0x17002764 RID: 10084
		// (get) Token: 0x06008BB9 RID: 35769 RVA: 0x00173A26 File Offset: 0x00171C26
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public RepeatedField<uint> UnlockPhaseList
		{
			get
			{
				return this.unlockPhaseList_;
			}
		}

		// Token: 0x17002765 RID: 10085
		// (get) Token: 0x06008BBA RID: 35770 RVA: 0x00173A2E File Offset: 0x00171C2E
		// (set) Token: 0x06008BBB RID: 35771 RVA: 0x00173A36 File Offset: 0x00171C36
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public uint CurLevelId
		{
			get
			{
				return this.curLevelId_;
			}
			set
			{
				this.curLevelId_ = value;
			}
		}

		// Token: 0x17002766 RID: 10086
		// (get) Token: 0x06008BBC RID: 35772 RVA: 0x00173A3F File Offset: 0x00171C3F
		// (set) Token: 0x06008BBD RID: 35773 RVA: 0x00173A47 File Offset: 0x00171C47
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public uint CurSongId
		{
			get
			{
				return this.curSongId_;
			}
			set
			{
				this.curSongId_ = value;
			}
		}

		// Token: 0x17002767 RID: 10087
		// (get) Token: 0x06008BBE RID: 35774 RVA: 0x00173A50 File Offset: 0x00171C50
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public RepeatedField<MusicRhythmGroup> MusicGroup
		{
			get
			{
				return this.musicGroup_;
			}
		}

		// Token: 0x17002768 RID: 10088
		// (get) Token: 0x06008BBF RID: 35775 RVA: 0x00173A58 File Offset: 0x00171C58
		// (set) Token: 0x06008BC0 RID: 35776 RVA: 0x00173A60 File Offset: 0x00171C60
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public bool ShowHint
		{
			get
			{
				return this.showHint_;
			}
			set
			{
				this.showHint_ = value;
			}
		}

		// Token: 0x17002769 RID: 10089
		// (get) Token: 0x06008BC1 RID: 35777 RVA: 0x00173A69 File Offset: 0x00171C69
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public RepeatedField<uint> UnlockSongList
		{
			get
			{
				return this.unlockSongList_;
			}
		}

		// Token: 0x1700276A RID: 10090
		// (get) Token: 0x06008BC2 RID: 35778 RVA: 0x00173A71 File Offset: 0x00171C71
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public RepeatedField<uint> UnlockTrackList
		{
			get
			{
				return this.unlockTrackList_;
			}
		}

		// Token: 0x06008BC3 RID: 35779 RVA: 0x00173A79 File Offset: 0x00171C79
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public override bool Equals(object other)
		{
			return this.Equals(other as MusicRhythmDataScRsp);
		}

		// Token: 0x06008BC4 RID: 35780 RVA: 0x00173A88 File Offset: 0x00171C88
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public bool Equals(MusicRhythmDataScRsp other)
		{
			return other != null && (other == this || (this.Retcode == other.Retcode && this.musicLevel_.Equals(other.musicLevel_) && this.unlockPhaseList_.Equals(other.unlockPhaseList_) && this.CurLevelId == other.CurLevelId && this.CurSongId == other.CurSongId && this.musicGroup_.Equals(other.musicGroup_) && this.ShowHint == other.ShowHint && this.unlockSongList_.Equals(other.unlockSongList_) && this.unlockTrackList_.Equals(other.unlockTrackList_) && object.Equals(this._unknownFields, other._unknownFields)));
		}

		// Token: 0x06008BC5 RID: 35781 RVA: 0x00173B5C File Offset: 0x00171D5C
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public override int GetHashCode()
		{
			int num = 1;
			if (this.Retcode != 0U)
			{
				num ^= this.Retcode.GetHashCode();
			}
			num ^= this.musicLevel_.GetHashCode();
			num ^= this.unlockPhaseList_.GetHashCode();
			if (this.CurLevelId != 0U)
			{
				num ^= this.CurLevelId.GetHashCode();
			}
			if (this.CurSongId != 0U)
			{
				num ^= this.CurSongId.GetHashCode();
			}
			num ^= this.musicGroup_.GetHashCode();
			if (this.ShowHint)
			{
				num ^= this.ShowHint.GetHashCode();
			}
			num ^= this.unlockSongList_.GetHashCode();
			num ^= this.unlockTrackList_.GetHashCode();
			if (this._unknownFields != null)
			{
				num ^= this._unknownFields.GetHashCode();
			}
			return num;
		}

		// Token: 0x06008BC6 RID: 35782 RVA: 0x00173C2C File Offset: 0x00171E2C
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public override string ToString()
		{
			return JsonFormatter.ToDiagnosticString(this);
		}

		// Token: 0x06008BC7 RID: 35783 RVA: 0x00173C34 File Offset: 0x00171E34
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public void WriteTo(CodedOutputStream output)
		{
			output.WriteRawMessage(this);
		}

		// Token: 0x06008BC8 RID: 35784 RVA: 0x00173C40 File Offset: 0x00171E40
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		void IBufferMessage.InternalWriteTo(ref WriteContext output)
		{
			this.unlockPhaseList_.WriteTo(ref output, MusicRhythmDataScRsp._repeated_unlockPhaseList_codec);
			this.musicGroup_.WriteTo(ref output, MusicRhythmDataScRsp._repeated_musicGroup_codec);
			if (this.ShowHint)
			{
				output.WriteRawTag(32);
				output.WriteBool(this.ShowHint);
			}
			if (this.CurLevelId != 0U)
			{
				output.WriteRawTag(40);
				output.WriteUInt32(this.CurLevelId);
			}
			if (this.CurSongId != 0U)
			{
				output.WriteRawTag(56);
				output.WriteUInt32(this.CurSongId);
			}
			this.musicLevel_.WriteTo(ref output, MusicRhythmDataScRsp._repeated_musicLevel_codec);
			this.unlockSongList_.WriteTo(ref output, MusicRhythmDataScRsp._repeated_unlockSongList_codec);
			if (this.Retcode != 0U)
			{
				output.WriteRawTag(104);
				output.WriteUInt32(this.Retcode);
			}
			this.unlockTrackList_.WriteTo(ref output, MusicRhythmDataScRsp._repeated_unlockTrackList_codec);
			if (this._unknownFields != null)
			{
				this._unknownFields.WriteTo(ref output);
			}
		}

		// Token: 0x06008BC9 RID: 35785 RVA: 0x00173D28 File Offset: 0x00171F28
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public int CalculateSize()
		{
			int num = 0;
			if (this.Retcode != 0U)
			{
				num += 1 + CodedOutputStream.ComputeUInt32Size(this.Retcode);
			}
			num += this.musicLevel_.CalculateSize(MusicRhythmDataScRsp._repeated_musicLevel_codec);
			num += this.unlockPhaseList_.CalculateSize(MusicRhythmDataScRsp._repeated_unlockPhaseList_codec);
			if (this.CurLevelId != 0U)
			{
				num += 1 + CodedOutputStream.ComputeUInt32Size(this.CurLevelId);
			}
			if (this.CurSongId != 0U)
			{
				num += 1 + CodedOutputStream.ComputeUInt32Size(this.CurSongId);
			}
			num += this.musicGroup_.CalculateSize(MusicRhythmDataScRsp._repeated_musicGroup_codec);
			if (this.ShowHint)
			{
				num += 2;
			}
			num += this.unlockSongList_.CalculateSize(MusicRhythmDataScRsp._repeated_unlockSongList_codec);
			num += this.unlockTrackList_.CalculateSize(MusicRhythmDataScRsp._repeated_unlockTrackList_codec);
			if (this._unknownFields != null)
			{
				num += this._unknownFields.CalculateSize();
			}
			return num;
		}

		// Token: 0x06008BCA RID: 35786 RVA: 0x00173E04 File Offset: 0x00172004
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public void MergeFrom(MusicRhythmDataScRsp other)
		{
			if (other == null)
			{
				return;
			}
			if (other.Retcode != 0U)
			{
				this.Retcode = other.Retcode;
			}
			this.musicLevel_.Add(other.musicLevel_);
			this.unlockPhaseList_.Add(other.unlockPhaseList_);
			if (other.CurLevelId != 0U)
			{
				this.CurLevelId = other.CurLevelId;
			}
			if (other.CurSongId != 0U)
			{
				this.CurSongId = other.CurSongId;
			}
			this.musicGroup_.Add(other.musicGroup_);
			if (other.ShowHint)
			{
				this.ShowHint = other.ShowHint;
			}
			this.unlockSongList_.Add(other.unlockSongList_);
			this.unlockTrackList_.Add(other.unlockTrackList_);
			this._unknownFields = UnknownFieldSet.MergeFrom(this._unknownFields, other._unknownFields);
		}

		// Token: 0x06008BCB RID: 35787 RVA: 0x00173ED1 File Offset: 0x001720D1
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public void MergeFrom(CodedInputStream input)
		{
			input.ReadRawMessage(this);
		}

		// Token: 0x06008BCC RID: 35788 RVA: 0x00173EDC File Offset: 0x001720DC
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		void IBufferMessage.InternalMergeFrom(ref ParseContext input)
		{
			uint num;
			while ((num = input.ReadTag()) != 0U)
			{
				if (num <= 56U)
				{
					if (num <= 26U)
					{
						if (num == 16U || num == 18U)
						{
							this.unlockPhaseList_.AddEntriesFrom(ref input, MusicRhythmDataScRsp._repeated_unlockPhaseList_codec);
							continue;
						}
						if (num == 26U)
						{
							this.musicGroup_.AddEntriesFrom(ref input, MusicRhythmDataScRsp._repeated_musicGroup_codec);
							continue;
						}
					}
					else
					{
						if (num == 32U)
						{
							this.ShowHint = input.ReadBool();
							continue;
						}
						if (num == 40U)
						{
							this.CurLevelId = input.ReadUInt32();
							continue;
						}
						if (num == 56U)
						{
							this.CurSongId = input.ReadUInt32();
							continue;
						}
					}
				}
				else if (num <= 98U)
				{
					if (num == 82U)
					{
						this.musicLevel_.AddEntriesFrom(ref input, MusicRhythmDataScRsp._repeated_musicLevel_codec);
						continue;
					}
					if (num == 96U || num == 98U)
					{
						this.unlockSongList_.AddEntriesFrom(ref input, MusicRhythmDataScRsp._repeated_unlockSongList_codec);
						continue;
					}
				}
				else
				{
					if (num == 104U)
					{
						this.Retcode = input.ReadUInt32();
						continue;
					}
					if (num == 112U || num == 114U)
					{
						this.unlockTrackList_.AddEntriesFrom(ref input, MusicRhythmDataScRsp._repeated_unlockTrackList_codec);
						continue;
					}
				}
				this._unknownFields = UnknownFieldSet.MergeFieldFrom(this._unknownFields, ref input);
			}
		}

		// Token: 0x0400355B RID: 13659
		private static readonly MessageParser<MusicRhythmDataScRsp> _parser = new MessageParser<MusicRhythmDataScRsp>(() => new MusicRhythmDataScRsp());

		// Token: 0x0400355C RID: 13660
		private UnknownFieldSet _unknownFields;

		// Token: 0x0400355D RID: 13661
		public const int RetcodeFieldNumber = 13;

		// Token: 0x0400355E RID: 13662
		private uint retcode_;

		// Token: 0x0400355F RID: 13663
		public const int MusicLevelFieldNumber = 10;

		// Token: 0x04003560 RID: 13664
		private static readonly FieldCodec<MusicRhythmLevel> _repeated_musicLevel_codec = FieldCodec.ForMessage<MusicRhythmLevel>(82U, MusicRhythmLevel.Parser);

		// Token: 0x04003561 RID: 13665
		private readonly RepeatedField<MusicRhythmLevel> musicLevel_ = new RepeatedField<MusicRhythmLevel>();

		// Token: 0x04003562 RID: 13666
		public const int UnlockPhaseListFieldNumber = 2;

		// Token: 0x04003563 RID: 13667
		private static readonly FieldCodec<uint> _repeated_unlockPhaseList_codec = FieldCodec.ForUInt32(18U);

		// Token: 0x04003564 RID: 13668
		private readonly RepeatedField<uint> unlockPhaseList_ = new RepeatedField<uint>();

		// Token: 0x04003565 RID: 13669
		public const int CurLevelIdFieldNumber = 5;

		// Token: 0x04003566 RID: 13670
		private uint curLevelId_;

		// Token: 0x04003567 RID: 13671
		public const int CurSongIdFieldNumber = 7;

		// Token: 0x04003568 RID: 13672
		private uint curSongId_;

		// Token: 0x04003569 RID: 13673
		public const int MusicGroupFieldNumber = 3;

		// Token: 0x0400356A RID: 13674
		private static readonly FieldCodec<MusicRhythmGroup> _repeated_musicGroup_codec = FieldCodec.ForMessage<MusicRhythmGroup>(26U, MusicRhythmGroup.Parser);

		// Token: 0x0400356B RID: 13675
		private readonly RepeatedField<MusicRhythmGroup> musicGroup_ = new RepeatedField<MusicRhythmGroup>();

		// Token: 0x0400356C RID: 13676
		public const int ShowHintFieldNumber = 4;

		// Token: 0x0400356D RID: 13677
		private bool showHint_;

		// Token: 0x0400356E RID: 13678
		public const int UnlockSongListFieldNumber = 12;

		// Token: 0x0400356F RID: 13679
		private static readonly FieldCodec<uint> _repeated_unlockSongList_codec = FieldCodec.ForUInt32(98U);

		// Token: 0x04003570 RID: 13680
		private readonly RepeatedField<uint> unlockSongList_ = new RepeatedField<uint>();

		// Token: 0x04003571 RID: 13681
		public const int UnlockTrackListFieldNumber = 14;

		// Token: 0x04003572 RID: 13682
		private static readonly FieldCodec<uint> _repeated_unlockTrackList_codec = FieldCodec.ForUInt32(114U);

		// Token: 0x04003573 RID: 13683
		private readonly RepeatedField<uint> unlockTrackList_ = new RepeatedField<uint>();
	}
}
